package ink.onei.common;

import ink.onei.common.core.domain.entity.SysDept;
import ink.onei.common.core.domain.entity.SysUser;
import ink.onei.common.core.domain.model.LoginUser;

import java.util.HashSet;

/**
 * @Author: nekotako
 * @Description: TODO
 * @Date: 28/01/2024 12:50 Sunday
 */

public class UltraAdministrator {

    private UltraAdministrator(){}

    private static LoginUser ultraAdmin = new LoginUser();

    public static LoginUser getUltraAdmin() {
        HashSet<String> ultraPermi = new HashSet<>();
        SysDept sysDept = new SysDept();
        SysUser sysUser = new SysUser();
        ultraPermi.add("*:*:*");
        sysDept.setDeptId(0L);
        sysDept.setDeptName("-");
        sysUser.setUserId(0L);
        sysUser.setUserName("ultraAdmin");
        sysUser.setNickName("究极管理员");
        sysUser.setRemark("究极管理员");
        sysUser.setLoginIp("0.0.0.0");
        sysUser.setDeptId(0L);
        sysUser.setDept(sysDept);

        ultraAdmin.setId(0L);
        ultraAdmin.setUser(sysUser);
        ultraAdmin.setLoginTime(Long.MIN_VALUE);
        ultraAdmin.setExpireTime(Long.MAX_VALUE);
        ultraAdmin.setBrowser("Chrome 999");
        ultraAdmin.setOs("Windows 99");
        ultraAdmin.setToken("00000000-0000-0000-0000-000000000000");
        ultraAdmin.setIpaddr("0.0.0.0");
        ultraAdmin.setLoginLocation("内核");
        ultraAdmin.setPermissions(ultraPermi);

        return ultraAdmin;
    }
}
